package org.example.algorithm.linkedlist;

/**
 * 删除链表的节点:
 * 给定单向链表的头指针和一个要删除的节点的值，定义一个函数删除该节点。
 * 返回删除后的链表的头节点。
 */
public class RemoveListNodeSolution {
    public static void main(String[] args)
    {

    }

    class Solution {
        public ListNode deleteNode(ListNode head, int val) {
            if (head == null) {
                return head;
            }
            if (head.val ==  val) {
                return head.next;
            }
            ListNode cur = head;
            while (cur.next != null) {
                if (cur.next.val == val) {
                    cur.next = cur.next.next;
                    break;
                } else {
                    cur = cur.next;
                }
            }
            return head;
        }
    }
}


